<?php
namespace app\admin\controller;

use My\Redis;
use app\admin\controller\Base;
use think\Db;
use think\Cookie;
use think\Session;
use think\Request;



// 角色管理
class Role extends Base
{
  
    //显示资源列表
    public function index()
    {
        $list = db('role')->select();
        return view('index', 
            [
            'list' => $list
        ]);
    }


    /**
     * 显示添加用户页面.
     *
     * @return \think\Response
     */
    public function create()
    {
        return view();
    }

    /**
     * 执行新建
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function doadd(Request $request)
    {
        //接收post数据
        $data=input('post.');
        $list = db('role')->insert($data);

        $id = db('role')->getLastInsID();
        // 添加默认角色
        $rid['nid'] = 1;
        $rid['rid'] = $id;
        $role = db('role_node')->insert($rid);
         
        if($list){
        //设置成功后跳转页面的地址，默认的返回页面是$_SERVER['HTTP_REFERER']
        $this->success('添加成功', '/admin/role');
        } else {
            //错误页面的默认跳转页面是返回前一页，通常不需要设置
            $this->error('添加失败');
        }
    }

    /**
     * 显示详情
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function getinfo($id)
    {
         $list = db('role')->select($id);
        // var_dump($list);die;
        return view('role/getinfo',[
            'list'=> $list
        ]);
    }


    /**
     * 显示编辑页
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        $list = db('role')->select($id);
        // var_dump($list);die;
        return view('role/edit',[
            'list'=> $list
        ]);
    }

    public function doedit()
    {
        //接收post数据
            $data = input('post.');
            $list = db('role')->update($data);
        if($list){
        //设置成功后跳转页面的地址，默认的返回页面是$_SERVER['HTTP_REFERER']
        $this->success('编辑成功', '/admin/role');
        } else {
            //错误页面的默认跳转页面是返回前一页，通常不需要设置
            $this->error('编辑失败');
        }
    }


   /**
     * 更改状态
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function changest($id,$status)
    {
        $list = db('role')->where('U_Id', $id)->update(['U_Status' => $status]);
        return '更新成功';
    }


    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
         //接收post数据
         
        $data = input('post.');
        $list = db('role')->where($data)->update();
        // 根据结果, 跳转页面
         return view();
    }



    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        $list = db('role')->delete($id);
        $list = db('role_node')->where('rid',$id)->delete();
        return '删除成功';
        

    }

        /**
     * // 处理用户授权
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function getnode($id)
    {   
        // 获取所有节点
        $nodes = db('node')->select();
        // 根据id查询相应节点
        $list = db('role_node')->where('rid',$id)->select();
        foreach ($list as $v ) {
            $lis[] = $v['nid'];
        }
        $nodes[] = $lis;
        return json_encode($nodes);
       
    }

     /**
     * // 处理用户授权
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function setnode($rid,$nid)
    {
        if(status){
            // 增
        $rnid['rid'] = $rid;
        $rnid['nid'] = $nid;
        $list = db('role_node')->insert($rnid);
        }else{
            // 删
            $list = db('role_node')->where('id',1)->where('name','thinkphp')->delete();
        }
        return $list;

    }

    /**
     * 更新用户授权
     *
     * @param  $rid,$nid,$status
     * @return 字串  提示信息
     */
     public function changenode($rid,$nid,$status)
    {   
        $data['nid'] = $nid;
        $data['rid'] = $rid;
        if ($status==1) {
            $list = db('role_node')->insert($data);
        }else{
            $list = db('role_node')->where('nid',$nid)->where('rid',$rid)->delete();
        }
       return '更新成功';
    }



}
